#pragma once

// Standard Library
#include <iostream>
#include <functional>

// OpenGL Loader
// This can be replaced with another loader, e.g. glad, but
// remember to also change the corresponding initialize call!
#include <GL/gl3w.h>            // GL3w, initialized with gl3wInit() below

// Include glfw3.h after our OpenGL definitions
#include <GLFW/glfw3.h>

// ImGui + imgui-vtk
#include "imgui.h"
#include "imgui_impl_glfw.h"
#include "imgui_impl_opengl3.h"


class im_glfw_opengl3_loader
{
public:
    static int load(std::function<void(ImGuiIO&)> viewerLoader);
};

